1. Field of the Invention
The present invention relates to an information processing apparatus, a memory area management method, and a computer program. More specifically, the present invention relates to an information processing apparatus, a memory area management method, and a computer program for allocating an appropriate memory area and performing a memory management process in an arrangement where a plurality of threads reference and update the memory area in parallel.
2. Description of the Related Art
In a multi operating system (OS) having a plurality of operating systems in a single system, each OS can execute respective process and hardware common to the system, such as a central processing unit (CPU) and a memory is successively switched in time sequence.
Scheduling of processes (tasks) of a plurality of operating systems is executed by a partition management software program, for example. If an OS(α) and an OS(β) coexist in a single system with the process of OS(α) being a partition A and the process of OS(β) being a partition B, the partition management software program determines the scheduling of the partition A and the partition B, and executes the process of the operating systems with the hardware resources allocated based on the determined scheduling.
Japanese Unexamined Patent Application Publication No. 2003-345612 discloses a task management technique of a multi OS system. According to the disclosure, tasks to be executed by a plurality of OS's are scheduled with a priority placed on a process having urgency.
When a plurality of programs are executed on at least one OS, a plurality of threads, each defined as a program execution unit, are present, and each thread uses a memory as a common resource. If an attempt is made to release, to another thread, a particular memory area currently being accessed by a given thread, an access error can be triggered. In known arts, error triggering is prevented by setting an interrupt disabled duration. The setting of the interrupt disabled duration leads to another problem such as a process delay.